#ifndef SWITCHING_ALGO_TESTS_H
#define SWITCHING_ALGO_TESTS_H

#include "stdafx.h"
#include "TestUtils.h"
#include "Graph.h"
#include "Group.h"
#include "Vertex.h"
#include <cstdlib>


TestUtils::TestResult TestIsLegalForInterchangeableThatCannotBeReturnedOrReplaced();
TestUtils::TestResult TestIsLegalForInterchangeableSetThatCannotBeReturnedOrReplaced();

TestUtils::TestResult TestIsLegalForReplacementThatIsRequiredForInterchangeable();
TestUtils::TestResult TestIsLegalForReplacementSetThatIsRequiredForInterchangeableSet();

TestUtils::TestResult TestIsLegalForLastReplacementThatIsNotRequiredForInterchangeable();
TestUtils::TestResult TestIsLegalForLastReplacementThatIsNotRequiredForInterchangeableSet();

TestUtils::TestResult TestIsLegalForVertexThatRuinsReplacements();
TestUtils::TestResult TestIsLegalForVertexSetThatRuinsReplacements();

TestUtils::TestResult TestIsLegalForVertexWithSingleReplacementFor2Vertices();
TestUtils::TestResult TestIsLegalForVertexSetWithSingleReplacemenSetFor2Vertices();

TestUtils::TestResult TestReplace();
TestUtils::TestResult TestCouplesReplace();


#endif